package com.qf.controller;

import com.github.pagehelper.PageInfo;
import com.qf.entity.User;
import com.qf.service.UserService;
import com.qf.vo.MessageVo;
import com.qf.vo.PageVo;
import com.qf.vo.PageeVo;
import com.qf.vo.tableVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/test1")
    @ResponseBody
    public User test1(){

        User user=userService.findUser(3);
        return user;
    }

    @RequestMapping("/test2")
    @ResponseBody
    public List<User> test2(){
        return userService.findAll();
    }

    @RequestMapping("/getAll")
    @ResponseBody
    public PageInfo<User> test3(PageVo pageVo){
        PageInfo<User> pageInfo=userService.findAll(pageVo);
        return pageInfo;
    }
    //pageINfo对象 和普通list对象不同

    @RequestMapping("/getAll1")
    public String test4(HttpServletRequest request,PageVo pageVo){
        PageInfo<User> pageInfo=userService.findAll(pageVo);
        request.setAttribute("pageInfo",pageInfo);
        return "user";

    }

//    @RequestMapping("/getUsers")
//    @ResponseBody
//    public tableVo<User> test5(PageVo pageVo){
//        PageInfo<User> pageInfo=userService.findAll(pageVo);
//        tableVo<User> table=new tableVo<>();
//        table.setCode("0");
//        table.setMsg("ok");
//        table.setCount(pageInfo.getTotal());
//        table.setData(pageInfo.getList());
//        return table;
//    }
    @RequestMapping("/getUsers")
    @ResponseBody
    public tableVo<User> test0(PageVo pageVo,User user){
        PageInfo<User> pageInfo=userService.findAll(pageVo,user);
        tableVo<User> table=new tableVo<>();
        table.setCode("0");
        table.setMsg("ok");
        table.setCount(pageInfo.getTotal());
        table.setData(pageInfo.getList());
        return table;
    }
    @RequestMapping("/add")
    @ResponseBody
    public MessageVo test6(User user){
       Integer a=userService.insertUser(user);
       MessageVo message=new MessageVo();
       message.setStatus(a==1?true:false);
       message.setMessage(a==1?"success":"fail");
       message.setData(user);
       return message;
    }

    @RequestMapping("/del")
    @ResponseBody
    public MessageVo test7(Integer[] ids){
        Integer a=userService.deleteUser(ids);
        MessageVo message=new MessageVo();
        message.setStatus(a>0?true:false);
        message.setMessage(a>0?"success":"fail");
//        message.setData(user);
        return message;
    }

    @RequestMapping("/update")
    @ResponseBody
    public MessageVo test8(User user){
        Integer a=userService.updateUser(user);
        MessageVo message=new MessageVo();
        message.setStatus(a==1?true:false);
        message.setMessage(a==1?"success":"fail");
        message.setData(user);
        return message;
    }

}
